package com.wxxymaker.edu.service;

/**
 * @AUTHOR soft
 * @DATE 2018/9/4 16:12
 * @DESCRIBE 所有业务层都要实现
 */
public interface Service<T> {

    /**
     * 增加操作
     * @param t 被增加的实体
     * @return 带有id的实体,失败则返回null
     */
    T add(T t);

    /**
     * 删除操作
     * 需要先查在删
     * @param pk 要删除记录的主键
     * @return 被删除的实体对象
     */
    T delete(Object pk);

    /**
     * 修改操作
     * @param t 带有主键的被修改对象
     * @return 是否修改成功
     */
    boolean change(T t);

    /**
     * 查询操作
     * @param pk 查询记录的主键
     * @return 查询结果,失败则null
     */
    T byId(Object pk);
}
